package co.yixiang.modules.shop.service.dto;

import co.yixiang.modules.shop.domain.YxMaterial;
import com.alipay.api.domain.Material;
import lombok.Data;

import java.util.List;

/**
 * MaterialDTO类扩展了Material类，用于表示材料的详细信息，包括用户交互数据和相关推荐
 * 该类主要增加了用户行为统计数据字段，如下载、收藏、分享次数，以及材料是否被当前用户收藏的标志
 * 还包含了一个推荐材料列表，用于个性化推荐
 */
@Data
public class YsMaterialDTO extends YxMaterial {

    /**
     * 下载次数，表示该材料被用户下载的次数
     */
    private int downloads;

    /**
     * 收藏次数，表示该材料被用户收藏的次数
     */
    private int collections;

    /**
     * 分享次数，表示该材料被用户分享的次数
     */
    private int shares;

    /**
     * 是否已收藏的标志，用于指示当前用户是否已收藏该材料
     * 通常使用1表示已收藏，0表示未收藏
     */
    private int isCollected;

    /**
     * 材料分组名称，用于标识材料所属的分组
     */
    private String groupName;

    /**
     * 推荐材料列表，包含根据当前材料或用户偏好推荐的相关材料
     * 用于展示个性化推荐内容
     */
    private List<Material> recommendList;
}

